Once the relevances are propagated, the propagation labeled system may use the training data sets (query and labeled feature vectors) to train a ranking function. A ranking function may be implemented as a Bayes net algorithm, a support vector machine, an adaptive boosting classifier, a neural network classifier, and so on. A support vector machine operates by finding a hyper-surface in the space of possible inputs. The hyper-surface attempts to split the positive examples from the negative examples by maximizing the distance between the nearest of the positive and negative examples to the hyper-surface. This allows for correct classification of data that is similar to but not identical to the training data. Various techniques can be used to train a support vector machine. One technique uses a sequential minimal optimization algorithm that breaks the large quadratic programming problem down into a series of small quadratic programming problems that can be solved analytically. (See Sequential Minimal Optimization, at Microsoft's research web site at “˜jplatt/smo.html.”)
Three well-known techniques for ranking of web pages are PageRank, HITS (“Hyperlinked-Induced Topic Search”), and DirectHIT. PageRank is based on the principle that web pages will have links to (i.e., “outgoing links”) important web pages. Thus, the importance of a web page is based on the number and importance of other web pages that link to that web page (i.e., “incoming links”). In a simple form, the links between web pages can be represented by adjacency matrix A, where Aij represents the number of outgoing links from web page i to web page j. The importance score wj for web page j can be represented by the following equation:
      w    j    =            ∑      i        ⁢                  A        ij            ⁢              w        i            
This equation can be solved by iterative calculations based on the following equation:ATw=wwhere w is the vector of importance scores for the web pages and is the principal eigenvector of AT.
The HITS technique is additionally based on the principle that a web page that has many links to other important web pages may itself be important. Thus, HITS divides “importance” of web pages into two related attributes: “hub” and “authority.” “Hub” is measured by the “authority” score of the web pages that a web page links to, and “authority” is measured by the “hub” score of the web pages that link to the web page. In contrast to PageRank, which calculates the importance of web pages independently from the query, HITS calculates importance based on the web pages of the result and web pages that are related to the web pages of the result by following incoming and outgoing links. HITS submits a query to a search engine service and uses the web pages of the result as the initial set of web pages. HITS adds to the set those web pages that are the destinations of incoming links and those web pages that are the sources of outgoing links of the web pages of the result. HITS then calculates the authority and hub score of each web page using an iterative algorithm. The authority and hub scores can be represented by the following equations:
      a    ⁡          (      p      )        =                    ∑                  q          →          p                    ⁢                        h          ⁡                      (            q            )                          ⁢                                  ⁢        and        ⁢                                  ⁢                  h          ⁡                      (            p            )                                =                  ∑                  p          →          q                    ⁢              a        ⁡                  (          q          )                    where a(p) represents the authority score for web page p and h(p) represents the hub score for web page p. HITS uses an adjacency matrix A to represent the links. The adjacency matrix is represented by the following equation:
      b    ij    =      {                            1                                                    if              ⁢                                                          ⁢              page              ⁢                                                          ⁢              i              ⁢                                                          ⁢              has              ⁢                                                          ⁢              a              ⁢                                                          ⁢              link              ⁢                                                          ⁢              to              ⁢                                                          ⁢              page              ⁢                                                          ⁢              j                        ,                                                0                          otherwise                    
The vectors a and h correspond to the authority and hub scores, respectively, of all web pages in the set and can be represented by the following equations:a=ATh and h=AaThus, a and h are eigenvectors of matrices ATA and AAT. HITS may also be modified to factor in the popularity of a web page as measured by the number of visits. Based on an analysis of click-through data, bij of the adjacency matrix can be increased whenever a user travels from web page i to web page j.
DirectHIT ranks web pages based on past user history with results of similar queries. For example, if users who submit similar queries typically first selected the third web page of the result, then this user history would be an indication that the third web page should be ranked higher. As another example, if users who submit similar queries typically spend the most time viewing the fourth web page of the result, then this user history would be an indication that the fourth web page should be ranked higher. DirectHIT derives the user histories from analysis of click-through data.
Some ranking techniques use machine learning algorithms to learn a ranking function from training data that includes queries, feature vectors representing pages, and for each query, a ranking for each page. A ranking function serves as a mapping from features of a page to its rank for a given query. The learning of a ranking function has been considered by some as a regression problem for learning the mapping of a feature vector to a member of an ordered set of numerical ranks. Some regression based techniques attempt to provide an absolute relevance score that can be used to rank pages. A ranking function, however, need not provide an absolute relevance score but rather need only provide a relative ranking of the pages. Thus, these regression-based techniques solve a problem that is more difficult than needed.
Machine learning algorithms for a ranking function use queries, feature vectors, and user-labeled relevance scores as training data. To generate the training data, queries may be submitted to a search engine which generates the pages of the search result. The algorithms then generate the feature vectors for the pages and input from a user the relevance scores for each page. A difficulty with such an approach is that a search engine may return hundreds of pages as its search result. It can be quite costly to have a user label all the pages of a search result. Moreover, it can be difficult for a user to accurately assess the relevance of such a large number of pages. Although a user could label only a small portion of the pages, the learning based on such a small portion may not provide an accurate ranking function.